Add check for -Bsymbolic-functions linker flag
authorJavier Jardón <jjardon@gnome.org>
Thu, 8 Jul 2010 14:18:48 +0000 (16:18 +0200)
committerJavier Jardón <jjardon@gnome.org>
Sat, 10 Jul 2010 00:21:31 +0000 (02:21 +0200)
Based on a Glib patch by Ryan Lortie

https://bugzilla.gnome.org/show_bug.cgi?id=623845

configure.ac

index e9195ac1f2706fcfce1370f11831a2b378e54d47..5b67a93bd83b247c19edc1c4e75cdcaffa8e65d9 100644 (file)
@@ -1671,10 +1671,30 @@ if test x$gdk_working_wctype = xno; then
   gdk_wc="\$gdk_wc
 #define GDK_HAVE_BROKEN_WCTYPE 1"
 fi
-
-
 ])
 
+dnl
+dnl Check for -Bsymbolic-functions linker flag used to avoid
+dnl intra-library PLT jumps, if available.
+dnl
+AC_ARG_ENABLE(Bsymbolic,
+              [AC_HELP_STRING([--disable-Bsymbolic],
+                              [avoid linking with -Bsymbolic])],,
+              [SAVED_LDFLAGS="${LDFLAGS}"
+               AC_MSG_CHECKING([for -Bsymbolic-functions linker flag])
+               LDFLAGS=-Wl,-Bsymbolic-functions
+               AC_TRY_LINK([], [int main (void) { return 0; }],
+                           AC_MSG_RESULT(yes)
+                           enable_Bsymbolic=yes,
+                           AC_MSG_RESULT(no)
+                           enable_Bsymbolic=no)
+               LDFLAGS="${SAVED_LDFLAGS}"])
+
+if test "x${enable_Bsymbolic}" == "xyes"; then
+  GTK_LINK_FLAGS=-Wl,-Bsymbolic-functions
+fi
+AC_SUBST(GTK_LINK_FLAGS)
+
 AC_CONFIG_FILES([
 config.h.win32
 gtk-zip.sh